package Data;

import Illness.H1N1;
import Illness.H5N1;
import Illness.Illness;

public class Data {
    public final static String healthy = "  healthy ";
    public final static int noContagiousTime = 3; // under 3 days
    public final static String noContagiousName = "   sick   ";
    public final static int contagiousTime = 6; // under 7 days
    public final static String contagiousName = "contagious";
    public final static String recoveryName = " recovery "; // after 7 days
    public final static int recoveryTime = 9;
    public final static String deadName = "   death  ";
    // number of char of the case
    public final static int caseLength = 10;

    public final static int nClassElement = 4;

    public final static String nullElementName = "nullElement";
    public final static String humanName = "   human  ";
    public final static String chickenName = "  chicken ";
    public final static String duckName = "   duck   ";
    public final static String pigName = "    pig   ";

    public final static String[] className = { "Element.Human",
            "Element.Chicken", "Element.Duck", "Element.Pig" };

    // parameters

    // contact with others
    // human
    public static int humanToHumanContact = 9;
    public static int humanToChickenContact = 5;
    public static int humanToDuckContact = 3;
    public static int humanToPigContact = 6;
    public static int[] humanToOthersContact = { humanToHumanContact,
            humanToChickenContact, humanToDuckContact, humanToPigContact };

    // duck
    public static int duckToHumanContact = 3;
    public static int duckToChickenContact = 5;
    public static int duckToDuckContact = 10;
    public static int duckToPigContact = 0;
    public static int[] duckToOthersContact = { duckToHumanContact,
            duckToChickenContact, duckToDuckContact, duckToPigContact };

    // chicken
    public static int chickenToHumanContact = 5;
    public static int chickenToChickenContact = 10;
    public static int chickenToDuckContact = 5;
    public static int chickenToPigContact = 0;
    public static int[] chickenToOthersContact = { chickenToHumanContact,
            chickenToChickenContact, chickenToDuckContact, chickenToPigContact };

    // pig
    public static int pigToChickenContact = 5;
    public static int pigToDuckContact = 4;
    public static int pigToHumanContact = 6;
    public static int pigToPigContact = 9;
    public static int[] pigToOthersContact = { pigToHumanContact,
            pigToChickenContact, pigToDuckContact, pigToPigContact };

    // contamination rate
    // H1N1
    public static int H1N1HumanContamination = 7;
    // public static int H1N1
    public static int H1N1PigContamination = 6;

    // H5N1
    public static int H5N1HumanCont = 8;
    public static int H5N1ChickenCont = 7;
    public static int H5N1DuckCont = 6;

    // define how much it protect against illness
    public static int resistanceRate = 10;

    public final static int informationTime = 0;
    public static int time = 0;

    public static int nHuman = 4;
    public static int nChicken = 2;
    public static int nDuck = 4;
    public static int nPig = 4;
    public static int[] nElement = { nHuman, nChicken, nDuck, nPig };

    // the 3 illness
    private static final Illness humanIllness = null;
    private static final Illness pigIllness = new H1N1();
    private static final Illness chickenIllness = new H5N1();
    private static final Illness duckIllness = new H5N1();
    public static final Illness[] elementIllness = { humanIllness, pigIllness,
            chickenIllness, duckIllness };

    //in this model human sick can only equal 0
    public final static int nHumanSick = 0;
    public static int nChickenSick = 1;
    public static int nDuckSick = 1;
    public static int nPigSick = 1;
    public static int[] nElementSick = { nHumanSick, nChickenSick, nDuckSick,
            nPigSick };
    public static int dayTime = 0;

}
